A purpose of transmission codes is to transform the frequency spectrum of a serial data stream so that clocking can be recovered readily and Alternating Current (AC) coupling is possible. Typically, a direct current (DC)-balanced code can be used to provide AC coupling. Transmission codes are also used, often in combination with signal waveform shaping, to adapt the signal spectrum more closely to specific channel requirements.
In order to provide frequency spectrum modification, a transmission code converts data vectors into coded vectors. Typical transmission codes also provide special “control” characters outside a data vector set for functions, such as character synchronization, frame delimiters and perhaps for abort, reset, idle, diagnostics or other functions. During coding, incoming data or control vectors are converted to coded vectors in accordance with encoding rules of the transmission code. During decoding, incoming coded vectors are converted back to data or control vectors in accordance with decoding rules of the transmission code.
Transmission codes are generally combined with other techniques, such as parity or error correcting codes, in order to determine which coded vector or which bit of a coded vector has an error.
Although transmission codes are beneficial, there is still a need for an improved transmission code.